Monise Terra Cerezini

Exerccios Aula 6 - Teste de Hiptese e Simulao


##Crie seus dados

A. Dez observaes de uma amostra de uma distribuio normal com mdia 6 e desvio padro 3 

> dados.a=round(rnorm(10, mean=6,sd=3),1)
> dados.a
 [1]  4.7 -1.4  8.2  5.4  2.1  3.1  8.6  8.9  7.9  3.2

B. Idem para uma distribuio normal com mdia 7.5 e desvio padro 3.2 

> dados.b=round(rnorm(10, mean=7.5,sd=3.2),1)
> dados.b
 [1]  6.0 12.2  7.7 12.3  6.7  6.3 11.9  6.7  6.3  2.5

1. Utilize a funo simula.r e teste a hiptese que as mdias das amostras so diferentes. No esquea de usar a funo source() para carregar a funo!

source("simula.r")
> dif=abs(mean(dados.a)-mean(dados.b))
> dif
[1] 2.14

simula=simula(dados.a,dados.b,nsim=2000)

> table(simula)
simula
  0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9   1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9   2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 
 69 114 127 125 111 112 100 105 108  90  84  89  86  75  73  69  49  40  51  39  42  33  35  22  15  21  16  18  12   8 
  3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9   4 4.3 4.5 
 13   7   5   6   9   3   5   4   2   2   1   3   2 

> soma=sum(simula>=dif)
> soma
[1] 209

> prob=soma/length(simula)
> prob
[1] 0.104


2. Teste agora que a mdia da segunda amostra  maior que a primeira.

simula.dados=simula(dados.a,dados.b, teste= "uni", nsim=2000)
table(simula.dados.uni)
m.maior=sum(simula.dados>=dif)
m.maior
m.menor=sum(simula.dados<=-3.9)
m.menor

p.bi=(m.maior+m.menor)/length(simula.dados)
p.bi  


3. Utilize agora a funo t.test() para testar as mesmas hipteses. Os resultados so iguais?

t.test(dados.a,dados.b)   


4. No esquea de fazer um grfico para mostrar os dados

boxplot(dados.a,dados.b, names=c("Dados A","Dados B")) 


##Caixeta de NOVO?!

Utilizando os dados da planilha caixeta.csv 

caixeta=read.table("caixeta.csv", header=TRUE, sep=",", as.is=TRUE)
str(caixeta)
head(caixeta)
summary(caixeta)

1. Calcule os valores de rea basal por fuste 

caixeta.fuste.basal=2*pi*(caixeta$cap/2)
caixeta.fuste.basal

2. Calcule os valores de rea basal por amostra em cada uma das localidades

caixeta.chauas=caixeta[(caixeta$local=="chauas"),]
caixeta.jureia<-caixeta[(caixeta$local=="jureia"),]
caixeta.retiro<-caixeta[(caixeta$local=="retiro"),]

fuste.chauas<-tapply(caixeta.chauas$basal, INDEX=caixeta.chauas$parcela, FUN=sum)
fuste.chauas
fuste.jureia<-tapply(caixeta.jureia$basal, INDEX=caixeta.jureia$parcela, FUN=sum)
fuste.jureia
fuste.retiro<-tapply(caixeta.retiro$basal, INDEX=caixeta.retiro$parcela, FUN=sum)
fuste.retiro

3. Produza grficos para mostrar os dados

boxplot(fuste.chauas,fuste.jureia,fuste.retiro,xlab="",ylab="rea basal")
mtext(c("Chauas", "Jureia", "Retiro"),side= 1,cex=1,line=0.9,at=c(1,2,3))

4. Calcule os valores de uma tabela Anova para esses dados sendo a varivel dependente a rea basal e o tratamento as localidades. Cada observao referece a uma amostra ou parcela.

caixeta.anova=data.frame(fuste.chauas,fuste.jureia,fuste.retiro)
caixeta.anova
media=mean(c(fuste.chauas,fuste.jureia,fuste.retiro))
media
desvio=caixeta.anova-media
desvio
desvio.q=desvio^2
desvio.q
soma.desvio.q=sum(desvio.q)
soma.desvio.q  

* desvio intra grupos

media.local=mean(caixeta.anova)
media.local

desvios.intra=data.frame(fuste.chauas,fuste.jureia,fuste.retiro)

desvios.intra$desvio.chauas=caixeta.anova$fuste.chauas-media.local["fuste.chauas"]
desvios.intra$desvio.jureia=caixeta.anova$fuste.jureia-media.local["fuste.jureia"]
desvios.intra$desvio.retiro=caixeta.anova$fuste.retiro-media.local["fuste.retiro"]
desvios.intra

desvio.chauas=sum(desvios.intra["desvio.chauas"]^2)
desvio.chauas
desvio.jureia=sum(desvios.intra["desvio.jureia"]^2)
desvio.jureia
desvio.retiro=sum(desvios.intra["desvio.retiro"]^2)
desvio.retiro

soma.intra=sum(desvio.chauas,desvio.jureia,desvio.retiro)
soma.intra   

*desvio entre grupos

soma.entre=soma.desvio.total.q-soma.intra
soma.entre    

*graus de liberdade

gl.total=15-1   			
gl.intra=15-3  			
gl.entre=gl.total-gl.intra   

*desvio mdio

des.medio.intra=soma.intra/gl.intra
des.medio.intra			
des.medio.entre=soma.entre/gl.entre
des.medio.entre			

*calculo de F

F=des.medio.entre/des.medio.intra
F     

*calculo de p

prob=pf(F, 2, 12, lower.tail = FALSE, log.p = FALSE)
prob    

5. Calcule a tabela de anova com a funo aov().

basal=c(fuste.chauas,fuste.jureia,fuste.retiro)
locais=as.factor(c(rep(c("fuste.chauas","fuste.jureia", "fuste.retiro"), each=5)))

aov(basal~locais)

6. Qual  a porcentagem de variao explicada pela localidade nesse caso?

> p.local=(soma.entre/soma.intra)*100
> p.local    ### 22%  explicado pela localidade.
[1] 22.15815

